X1 MK1 Bridge
Copyright 2026 Michael Braun (FREQUENZBETRIEB n.e.V.)

Licensed under the Apache License, Version 2.0 (see LICENSE).

Inoffizielles Projekt, nicht mit der Native Instruments GmbH verbunden,
nicht von ihr unterstützt oder geprüft. "Native Instruments", "Traktor" und
"Kontrol" sind Marken der Native Instruments GmbH. Sie werden hier nur
verwendet, um zu beschreiben, mit welcher Hardware und Software dieses
Programm zusammenarbeitet.

-------------------------------------------------------------------------------
Verwendete Arbeiten Dritter
-------------------------------------------------------------------------------

1) x1-mk1-usb2midi – https://github.com/Opa-/x1-mk1-usb2midi
   Apache License 2.0
   Übernommen: die Beschreibung des USB-Protokolls und die Tastenbelegung aus
   board.yml (Tabellen in src/x1core.c) sowie das Traktor-Mapping DecksAB.tsi
   (tools/DecksAB-original.tsi, unverändert).
   Änderungen: Aus DecksAB.tsi erzeugt tools/make_tsi.py die Dateien
   "X1 MK1 Bridge - Decks A+B.tsi" und "X1 MK1 Bridge - FX 3+4, Decks C+D.tsi".
   Geändert wurden MIDI-Portname und Beschreibung, CUE/CUP von "Toggle" auf
   "Hold" und im FX-3+4-Preset die Deck- und FX-Unit-Zuweisung.
   Die Ein- und Ausgabelogik des Treibers wurde neu in C geschrieben
   (Loslass-Nachrichten, Encoder-Schritte, Poti-Hysterese, Hotplug, LED-Pufferung).

2) traktor_x1 – https://github.com/joherold/traktor_x1
   Grundlegende Analyse des X1-MK1-Protokolls, auf der das Projekt unter 1)
   aufbaut. Aus diesem Repository wurde kein Code übernommen.

3) libusb 1.0.30 – https://libusb.info
   GNU Lesser General Public License 2.1 (vendor/libusb/COPYING)
   Statisch in die App eingebunden. Der vollständige, unveränderte Quellcode
   liegt als vendor/libusb/libusb-1.0.30.tar.bz2 im Quellcode-Paket
   (SHA-256 fea36f34f9156400209595e300840767ab1a385ede1dc7ee893015aea9c6dbaf).
   Wer die App mit einer eigenen libusb-Version neu linken möchte: libusb bauen,
   vendor/libusb/libusb-1.0.a ersetzen und ./build.sh ausführen. Der komplette
   Quellcode der App liegt dafür bei.
